We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6057
    • 26 Posts
    Hi,

    Now that my first MODx project is up & running and the users are happy ... I’m researching options for the next one.

    I’m working at a school and want to setup a web-based (of course) school information system to replace the ’spreadsheet spaghetti’ currently used. The systems I’ve looked at just don’t have the flexibility I’m after. A particular requirement is that the ’system’ allows non-admin users to

    + add fields to existing tables (most systems allow this)
    + add completely new tables (not seen that capability yet)
    + and then the capture/presentation forms just work - no HTML/CSS required for those non-admin users

    So, it feels like I may not be looking for a specific school information system (such a system is only specific to that purpose because that is what the schema has been setup for) but an information system framework that would allow non technical users to setup the schema and it would automatically generate data capture/presentation forms.

    So, I have two questions:

    1. Is there a MODx module that will do this? I’ve tried dbEdit before ... doesn’t go far enough.
    2. If not, anyone got any suggestions of a non MODx solution ... my extensive Googling hasn’t come up with one yet.

    Cheers,

    Colin.
      • 4172
      • 5,888 Posts
      do you want to explain more in details with some examples which kind of tables and infos you want to be able to add/edit?
        -------------------------------

        you can buy me a beer, if you like MIGX

        http://webcmsolutions.de/migx.html

        Thanks!
        • 6057
        • 26 Posts
        Thanks for the reply ’Bruno17’.

        I’m in the very early phases of requirement capture at this point so don’t have specific examples. But, let me rephrase / elaborate my problem to hopefully explain it better...

        A specific school information system would come with an ’appropriate’ schema of tables/fields for holding ’school’ information. But, what if the data we want to store doesn’t fit into that schema? Every school is different! Some systems will allow administrators to add fields to the existing tables. But what if the data we want to store doesn’t fit into the existing tables but actually needed extra tables related to the existing tables (e.g. weekly student awards where a student can receive more than one award so rather than adding award1, award2 ... awardN fields to student table, we add studentAwards table and join it by student id to the student table).

        At this point some people would say that a full requirements capture process would identify the full schema. Then I could set up the tables to match and go from there. My experience from previous project of trying to capture requirements from non-IT people isn’t as easy as it should be wink

        Also, my previous project (website for school) involved several modules/snippets that use custom data tables which all work fine at the moment. However, if a requirement came along that required the schema of one of those tables to be updated then the module/snippet code would have to updated - the code is specific to the schema. I’m wanting to avoid that requirement of needing a developer to make changes.

        So, a MODx module that would allow:

        + management of the set of tables that contain the ’data’ for the ’information system’
        + tables to be added to that set of tables
        + fields to be added to the tables in that set
        + choose how tables/fields are captured/presented (by chunks designed by IT person??)
        + generate data capture/presentation forms (snippet calls??)

        Would then allow

        + initial draft of schema to be setup through this module and then prototype site can be launched
        + as prototype is used and requirements are made clear then the schema can be quickly updated and associated data capture/presentation is done for you
        + in the future non IT users could extend the schema themselves

        I’ve already thought through, at an outline level, how the module and related snippets would work. Its not that difficult but would be a reasonable project in its own right. So, was hoping someone else had already done it.

        Hope that makes it clearer.

        Of course, if you think I’m going about this completely the wrong way ... do say so smiley

        Cheers,

        Colin


          • 4172
          • 5,888 Posts
          Well,
          I think this system is allready there, if you would just use modx-resources for these ’tables’.
          They can create folders in the resource-tree for new ’tables’. Give them a template and add TVs for each field they need.
          And use Ditto in Evo or getResources in Revo.
          If you feel its unhandy to manage the records from resource-tree, its also possible to create a CMP or a custom-TV-input-type in Revo, which can handle this subresources the same way as they were records in custom-tables.
          I think this is the easiest way to create a system to manage this kind of tables, fields, records, which in reality are folders,TVs,resources.

            -------------------------------

            you can buy me a beer, if you like MIGX

            http://webcmsolutions.de/migx.html

            Thanks!
            • 6057
            • 26 Posts
            Hi.

            I can understand your suggestion. However, I can see a few ways in which it is not quite what I’m looking for.

            1. The system needs to work on ’raw’ data tables in the database so that SQL queries can easily be run on them. I would think that using resources to hold record field values would make queries difficult. (*)
            2. The system needs data entry/presentation to be usable by non-technical users. As I understand it, users would have to edit a resource to see TVs holding record data (unless one of the links in your signature had the answer to that). Ideally, the data would be presented in traditional lists/tables (is that where the grid thingy comes in).
            3. The suggestion does not appear to allow 1:n association between two records in tables, as in my example. If it does, I’m not sure how it would work.

            Note: I’ve only used Evo, so maybe this is a lot easier in Revo.

            Thanks again for the feedback - its good to discuss as I don’t have anyone at work to do that with. If you have any more thoughts then please let me know.

            (*) Your suggestion has made me realise that need to work out how I would expect the ’module’ to allow users to setup queries on the custom tables.

            Cheers,