Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • tarekahf 215 posts 153 karma points
    Jan 26, 2010 @ 15:03
    tarekahf
    0

    Using Document Types vs. Database.

    I understand that I can use Document Types to store data used in my web application. Also, I can store the Data in a SQL Database.

    Suppose I have a web application for managing Medical Request in the Company Clinic. The current Database diagram looks like the following:

     

    Currently the Clinic Web Application was developed using DNN. I was requested to make modification and I am planning to migrate it to Umbraco. I appreciate your help and support.

    The largest transaction files are:

    1. MedicalRequests which has about 5000 records, and

    2. MedicalRequestsLineItems which has about 80,000 records.

    Other files are normal look-up files.

    My question is:

    1. Should I use Document Types to store such data or should be in tables,

    2. Do you think the correct choice is to use User Controls to develop the required functionality,

    3. Is Umbraco the right choice for such application ?

    Your feedback will be greatly appreciated.

    Tarek.

  • tarekahf 215 posts 153 karma points
    Jan 26, 2010 @ 15:04
    tarekahf
    0

    I don't know why the image from the previous post was removed, and this is the link to the image:

    http://lh5.ggpht.com/_Qhe6s0HOP8U/S170AlmYxqI/AAAAAAAAAts/cNEDXorQRes/s800/ClinicDBDiagram.JPG

  • Douglas Robar 3570 posts 4711 karma points MVP ∞ admin c-trib
    Jan 26, 2010 @ 17:16
    Douglas Robar
    2

    If the data structure and data already exist and you're happy with it, I'd leave it in the existing database and build a user control or xslt extension to retrieve/update the data from the database.

    If the data doesn't yet exist then you could do either. Line item data is probably not the 'editorial' content that umbraco is best at so I'd personally use separate tables for the data and create controls to manipulate the data directly.

    That's one of the great things about umbraco... flexibility. Your content is in umbraco and yet you can easily create or consume external data. You can even build dashboard controls to administrate the external data right from within the umbraco UI if you want to.

    cheers,
    doug.

     

  • tarekahf 215 posts 153 karma points
    Feb 02, 2010 @ 09:40
    tarekahf
    0

    One of the required improvments is to allow Edit/Add to be done in-place inside the GridView without the need to click "Save" or "Submit".

    The person in charge of Data Entry is complaining about difficulties in entering the Lab Request Results. He wants to be able to enter the results as if he is using MS Excel. I mean, as soon as he presses the Down-Arrow or Tab-Key for example, the data will be saved.

    How I can do this in Umbraco ?

    Tarek.

  • Dirk De Grave 4541 posts 6021 karma points MVP 3x admin c-trib
    Feb 02, 2010 @ 09:46
    Dirk De Grave
    0

    As Doug suggests, go with a dashboard control to manage the data, or if it needs to be document centric (ie managing external data for specific documents), I'd suggest to look into building your own datatype, that will enable to edit data on a per document basis. Your biggest struggle will be the data editing... I'd look for 3rd party controls that may have this functionality built in, and if none exists (which I doubt), build your own...

     

    Cheers,

    /Dirk

  • tarekahf 215 posts 153 karma points
    Feb 06, 2010 @ 10:01
    tarekahf
    0

    For GridView Excel-Like Editing, I found some reference here:

    http://forums.asp.net/p/1522647/3664044.aspx#3664044

    The question is: how easy it is to implement in Umbraco ?

    Appreciate your feedback.

    Tarek.

  • Jamie Howarth 306 posts 773 karma points c-trib
    Feb 06, 2010 @ 12:52
    Jamie Howarth
    0

    Hi tarekahf,

    Basically you'd be looking at implementing your own extension of a GridView which would bind to child nodes in Umbraco - you'd do this by writing your own custom .NET user control and then implementing it as a macro within Umbraco.

    In your control, you'd then use AJAX event handling to automatically save data on events in the browser (click, keypress - if you click off a row, it auto-saves, if you tab/return to a new row, it auto-saves etc.). Umbraco already uses jQuery so you could use WebMethods to expose the ASP.NET events that jQuery could handle on the client-side - whether you do this in the admin screens or on the front-end would be entirely up to you, the approach would be much the same.

    Theoretically you could use Umbraco for managing all the data as per your schema diagram, however, I'm not sure whether I'd recommend it. However someone submitted a ticket on Codeplex lately, which greatly increases DB query response times for sites with ~7500 nodes, just by adding a new index on a table, so for drastically improving the performance with handling a large amount of data, you'd be sorted.

    Hope this helps.

    Benjamin

  • Aron Gamble 63 posts 76 karma points
    Feb 06, 2010 @ 15:27
    Aron Gamble
    0

    I had exactly the same questions for a large conference booking application and decided to use document types for everything. It made reporting a bit more difficult but i found using document types gave me a really nice solution and meant i could do more in XSLT. I'd definitely use doc types again if i'm starting an app from scratch but wouldn't ditch an existing database.

  • tarekahf 215 posts 153 karma points
    Feb 08, 2010 @ 15:22
    tarekahf
    0

    Thank you Aron Gamble for your feedback.

    I knew that reporting will be an issue if you use Document Types. How did you overcome this issue ?

    I think you will not be able to use for example SQL Reporting Services to create a report with dynamic features, rigth ?

    Tarek.

  • Erik Ernst 70 posts 90 karma points
    Mar 30, 2010 @ 23:34
    Erik Ernst
    0

    Did you ever decide which way to go Tarek?

     

    Rgds,
    Erik

  • tarekahf 215 posts 153 karma points
    Apr 10, 2010 @ 08:20
    tarekahf
    0

    Hi Erik,

    I decided to go Database way. This is becuase Analytical Reporting is vital in my case, and, I do not see an easy way to do reporting by connecting to data which is stored inside Umbraco Documents.

    However, the major change I made is to move the Database Objects from the DNN Framework to a Separate Database:

    Separate Database: http://bit.ly/aV6bOf

    Inside DNN (old): http://bit.ly/abL2pg

    Also, I removed the use of Surrogate Keys, and used natural Primary Keys instead.

    In this model, I will be using:

    1. CSLA Approach,

    2. AjaxToolkit,

    3. Reusable User Controls,

    4. And finally, if approved by the management, I will deploy it under Umbraco.

    Hope my plan will be successful.

    Tarek.

  • tarekahf 215 posts 153 karma points
    Apr 10, 2010 @ 08:22
    tarekahf
    0

    I forgot to mention that I will be using also EssentialObjects Web Grid Control to allow Excel-Like editing of Laboratory Results.

  • Laurence Gillian 600 posts 1219 karma points
    Apr 10, 2010 @ 21:26
    Laurence Gillian
    0

    Really interested thread! :) Thanks! /Lau

  • tarekahf 215 posts 153 karma points
    Apr 10, 2010 @ 22:14
    tarekahf
    0

    Thank you Lau for your comments.

    I feel like I am doing a lot of effort ... but still need more.

    Its a tough job, but I am moving, though slowly, but proofly.

    Tarek.

  • Anders Rähr 22 posts 46 karma points
    Apr 11, 2010 @ 23:14
    Anders Rähr
    0

    Interesting thread..!

    As a former (heavy) user of radcontrols from telerik.com i strongly recommend you to thick twice using these "premade" ajax controls. 

    The overhead from the radgrid was killing our userinterface, until we moved down the more "lightweight" jquery road. Not saying its the right solution for your project.

    E.g. using tablesorter.com on a table with 1000 rows is no biggie.. adding textboxes to cell's shouldn be hard (maybe a tip: EnableViewState=false)

    just my 2 cents.

  • tarekahf 215 posts 153 karma points
    Apr 20, 2010 @ 23:10
    tarekahf
    0

    I have completed the CRUD Operaitons using EO.Web Grid Control to sync the updates from the Grid to CSLA .NET Object and finally to the Database.

    I have also purchased this EO Web Grid Control, which costs US$169.00.

    So far it seems very light and powerful control. I tried to investigate other controls from ExtJs and the like, but seemed that I will have to do lots of work in Javascript, and the killer factor was Support. EO Support was just perfect during the Trial Period.

    My next step is to deploy all the completed work under Umbraco. I hope it will work.

    Tarek.

Please Sign in or register to post replies

Write your reply to:

Draft