Monday, March 18, 2013

Commentary: Creating a Data Mastering and Publishing Tool (Structured Data)

Here is another experiential post:
 
The last 2 months I’ve spent building a prototype for a Data Mastering and Publishing Tool.   I modeled the data based on the business needs, built the database, ported sample data from some data sources, and auto-generated the UI using http://CodeOnTime.com.  I then proceeded to create the stored procedures to support all the necessary processes.    The 2 months includes data modeling, prototype UI/Database, Powerpoint Presentation, and Functional Specification.   Only one resource was used to do all this work; Me.
 
CodeOnTime (COT) really sped up my time to complete the prototype.  In fact, I would not have even attempted the prototype without the tool as I'm not as strong in UI development as I once was.   I only rat-holed in the tool when trying to get the UI to understand some of the audit and publishing business rules.  I found that COT is very powerful, but lots of areas including the event sequencing  are undocumented and I had to rely on the comments in the COT support community, which was very useful and responsive.  Several times I had to use Visual Studio and step through the code to understand the UI event model.  I ended up going down dead end roads that seemed promising at first, but failed to work within a reasonable amount of time I was granted to work on the project.   But once I simplified the UI design and I just used the Tool to create basic data entry and used database sprocs to perform the business rules it worked great.   I wouldn’t say I would trust COT for a full professional UI release quite yet as I believe it still needs to mature.  But I would say it is totally awesome for producing throw-a-way prototype UIs and really cheap internal IT UI solutions.  I would also say that it is more modular and code efficient than IronSpeed from looking at the code generated from both.    
 
The key features of my project:
Data Mastering and Publishing Website
  Data Management      

       38 Entities to Manage
       All Entities are Highly Searchable
       All Entities have C.R.U.D.
       Import & Export
       Full Change History
  Release Management
       Release C.R.U.D.
       Release Workflow
       Release Status History
       Release Change Navigation
   Localization Management
       Export localization needs
       Import localized text
   Reports
       General Entity Reports
       Release Change Summary
       Specialized Reports
   Security Management      

       User Access and Role assignment
 
This prototype helped define and proof the functional specification.  The spec refers to prototype in many sections in order to keep the spec to a reasonable and readable size.  The prototype was crucial in communicating a very complex concept to a group of PMs, Developers and Testers.  And now I leave the project  in their hands as I move on to other things.